/*
	@file : detail/OStreamLoggerScope.h
	@author : Wolfhead
*/
#ifndef _LOG_OSTREAM_LOGGER_SCOPE_H_
#define _LOG_OSTREAM_LOGGER_SCOPE_H_

#include <string>
#include <boost/noncopyable.hpp>
#include "LogPriority.h"

namespace logger
{

class OStreamLoggerScope
	: public boost::noncopyable
{
public:
	OStreamLoggerScope(	
	LogPriority pri, 
	std::ostream& os,
	const std::string& logger_name = "scope_logger",
	const std::string& format = "[%D][%P] %M (%F:%L)(%f)");

	~OStreamLoggerScope();

private:
	std::string m_logger_name;
};

}// namespace logger

#endif // #ifndef _LOG_OSTREAM_LOGGER_SCOPE_H_
